package com.ocp.macro.service;

import com.ocp.macro.entity.DealerAccount;
import com.ocp.macro.entity.UserInfoToken;

public interface OperateService {
    /**
     * 获取账号列表
     * @param dealerAccount 筛选条件
     * @param userInfoToken 当前登录用户信息
     * @return json
     */
    String getDealerAccountInfoList(DealerAccount dealerAccount, UserInfoToken userInfoToken);

    /**
     * 创建一个经销商账号
     * @param dealerAccount 新账号信息
     * @param userInfoToken 当前登录用户信息
     * @return json
     */
    String createDealerAccountInfo(DealerAccount dealerAccount, UserInfoToken userInfoToken);

    /**
     * 删除账号
     * @param dealerAccount 要删除的账号
     * @param userInfoToken 当前登录用户信息
     * @return json
     */
    String deleteDealerAccountInfo(DealerAccount dealerAccount, UserInfoToken userInfoToken);

    /**
     * 修改账号的状态
     * @param dealerAccount 要进行修改的账号
     * @param userInfoToken 当前登录用户信息
     * @return json
     */
    String modifyDealerAccountState(DealerAccount dealerAccount, UserInfoToken userInfoToken);

    /**
     * 重置账号密码
     * @param dealerId 要进行重置的账号id
     * @return json
     */
    String resetDealerAccountPwd(Integer dealerId);

    /**
     * 修改账户信息
     * @param dealerAccount 新的账户信息
     * @param userInfoToken 当前登录用户信息
     * @return json
     */
    String modifyDealerAccountInfo(DealerAccount dealerAccount, UserInfoToken userInfoToken);
}
